from common.login import Login
from common.report_generate import Report
import time,random,re
from selenium.webdriver.support.select import Select
from testcase.Resource_add import Add

#验证资源管理-培训资源模块，新增功能

class quiry():
    def __init__(self):
        self.st = Login()
        #超级管理员登录
        self.driver = self.st.driver
        self.st.login_fast('超级管理员')
        # 打开资源管理-培训资源模块
        self.insert = Report()
        self.st.Decrypt()

    #培训资源模块姓名输入框查询
    def quiry_name(self,name):

        self.st.open_module('资源管理', '培训资源')
       #解密
        self.driver.find_element_by_xpath('//*[@id="content"]/div[2]/div[1]/input[3]').send_keys(name)
        self.driver.find_element_by_xpath('//*[@id="content"]/div[2]/div[1]/button').click()
        time.sleep(1)
        result = self.driver.find_element_by_xpath('//*[@id="personal-table"]/tbody/tr/td[2]').text
        if result == name:
            print('查询成功')
            self.insert.write_report('3.5', '资源管理', 'GUI测试', 'TC-007', '培训资源模块姓名输入框查询', '成功', '无', '无')
        else:
            print('查询失败')
            img = self.insert.pic_screenshot()
            self.insert.write_report('3.5', '资源管理', 'GUI测试', 'TC-007', '培训资源模块姓名输入框查询', '失败', '无', img)

     #培训资源模块下拉框组合查询
    def quiry_com(self):

        self.st.open_module('资源管理', '培训资源')
        #资源库
        Select(self.driver.find_element_by_xpath('//*[@id="content"]/div[2]/div[1]/select[1]')).select_by_index(1)
        #状态
        Select(self.driver.find_element_by_xpath('//*[@id="content"]/div[2]/div[1]/select[2]')).select_by_index(1)
        #来源
        Select(self.driver.find_element_by_xpath('//*[@id="content"]/div[2]/div[1]/select[3]')).select_by_index(3)
        time.sleep(1)
        result = self.driver.find_element_by_xpath('//*[@id="personal-table"]/tbody/tr[2]/td[2]').text
        #if result == '上海专属011':
        if re.search(result,'上海专属011'):
            print('查询成功')
            self.insert.write_report('3.5', '资源管理', 'GUI测试', 'TC-008', '培训资源模块下拉框组合查询', '成功', '无', '无')
        else:
            print('查询失败')
            img = self.insert.pic_screenshot()
            self.insert.write_report('3.5', '资源管理', 'GUI测试', 'TC-008', '培训资源模块下拉框组合查询', '失败', '无', img)

    #公共资源模块下拉框组合查询
    def quiry_public(self):

        self.st.open_module('资源管理', '公共资源')
        #区域
        Select(self.driver.find_element_by_xpath('//*[@id="content"]/div[2]/div/select[1]')).select_by_index(1)
        #部门
        Select(self.driver.find_element_by_xpath('//*[@id="content"]/div[2]/div/select[2]')).select_by_index(0)
        #最后废弃人
        Select(self.driver.find_element_by_xpath('//*[@id="content"]/div[2]/div/select[3]')).select_by_index(0)
        #状态
        Select(self.driver.find_element_by_xpath('//*[@id="content"]/div[2]/div/select[4]')).select_by_index(1)
        #学历
        Select(self.driver.find_element_by_xpath('//*[@id="content"]/div[2]/div/select[6]')).select_by_index(1)
        time.sleep(1)
        result = self.driver.find_element_by_xpath('//*[@id="public-pool-table"]/tbody/tr/td[3]').text
        if result == '上海专属004':
            print('查询成功')
            self.insert.write_report('3.5', '资源管理', 'GUI测试', 'TC-009', '公共资源模块下拉框组合查询', '成功', '无', '无')
        else:
            print('查询失败')
            img = self.insert.pic_screenshot()
            self.insert.write_report('3.5', '资源管理', 'GUI测试', 'TC-009', '公共资源模块下拉框组合查询', '失败', '无', img)

    #公共资源模块姓名输入框查询
    def quiry_public_name(self,name):

        self.st.open_module('资源管理', '公共资源')
        self.driver.find_element_by_xpath('//*[@id="content"]/div[2]/div/input').send_keys(name)
        a = self.driver.find_element_by_xpath('//*[@id="content"]/div[2]/div/button')
        print(a)
        self.driver.find_element_by_xpath('//*[@id="content"]/div[2]/div/button').click()
        time.sleep(1)
        try:
            result = self.driver.find_element_by_xpath('//*[@id="public-pool-table"]/tbody/tr/td[3]').text
            if result == name:
                print('查询成功')
                self.insert.write_report('3.5', '资源管理', 'GUI测试', 'TC-010', '公共资源模块姓名输入框查询', '成功', '无', '无')
            else:
                print('查询失败')
                img = self.insert.pic_screenshot()
                self.insert.write_report('3.5', '资源管理', 'GUI测试', 'TC-010', '公共资源模块姓名输入框查询', '失败', '无', img)
        except:
            print('file')
            img = self.insert.pic_screenshot()
            self.insert.write_report('3.5', '资源管理', 'GUI测试', 'TC-010', '公共资源模块姓名输入框查询', '失败', '无', img)

    #转交资源模块下拉框组合查询
    def quiry_transfer(self):
        self.st.open_module('资源管理', '转交资源')

        #区域
        Select(self.driver.find_element_by_xpath('//*[@id="regionSelect1"]')).select_by_index(1)
        #状态
        Select(self.driver.find_element_by_xpath('//*[@id="content"]/div[2]/div[1]/select[4]')).select_by_index(6)
        #来源
        Select(self.driver.find_element_by_xpath('//*[@id="content"]/div[2]/div[1]/select[5]')).select_by_index(3)
        time.sleep(1)
        result = self.driver.find_element_by_xpath('//*[@id="transmit-table"]/tbody/tr[1]/td[2]').text
        if result == '苏珊':
            print('查询成功')
            self.insert.write_report('3.5', '资源管理', 'GUI测试', 'TC-011', '转交资源模块下拉框组合查询', '成功', '无', '无')
        else:
            print('查询失败')
            img = self.insert.pic_screenshot()
            self.insert.write_report('3.5', '资源管理', 'GUI测试', 'TC-011', '转交资源模块下拉框组合查询', '失败', '无', img)

    # 转交资源模块姓名输入框查询
    def quiry_transfer_name(self,name):

        self.st.open_module('资源管理', '转交资源')
        self.driver.find_element_by_xpath('//*[@id="content"]/div[2]/div[1]/input').send_keys(name)
        self.driver.find_element_by_xpath('//*[@id="content"]/div[2]/div[1]/button').click()
        time.sleep(1)
        result = self.driver.find_element_by_xpath('//*[@id="transmit-table"]/tbody/tr/td[2]').text
        if result == name:
            print('查询成功')
            self.insert.write_report('3.5', '资源管理', 'GUI测试', 'TC-012', '转交资源模块姓名输入框查询', '成功', '无', '无')
        else:
            print('查询失败')
            img = self.insert.pic_screenshot()
            self.insert.write_report('3.5', '资源管理', 'GUI测试', 'TC-012', '转交资源模块姓名输入框查询', '失败', '无', img)

    #就业管理下拉框组合查询
    def quiry_obtain(self):
        self.driver.find_element_by_link_text('就业管理').click()
        time.sleep(1)
        self.driver.find_element_by_xpath('//*[@id="list-5"]/div/ul/li[2]/a').click()
        time.sleep(1)

        Select(self.driver.find_element_by_id('region_id')).select_by_index('1')
        Select(self.driver.find_element_by_id('semesterSelect')).select_by_index('7')
        Select(self.driver.find_element_by_xpath('//*[@id="employ"]/div[1]/select[3]')).select_by_index('2')
        time.sleep(1)

        result = self.driver.find_element_by_xpath('//*[@id="stuInfo_table1"]/tbody/tr/td[1]').text
        if result == '苏珊':
            print('查询成功')
            self.insert.write_report('3.5', '就业管理', 'GUI测试', 'TC-027', '就业管理下拉框组合查询', '失败', '无', '无')
        else:
            print('查询失败')
            img = self.insert.pic_screenshot()
            self.insert.write_report('3.5', '就业管理', 'GUI测试', 'TC-027', '就业管理下拉框组合查询', '失败', '无', img)



    #就业管理姓名输入框查询
    def quiry_obtain_name(self,name):
        self.driver.find_element_by_link_text('就业管理').click()
        time.sleep(1)
        self.driver.find_element_by_xpath('//*[@id="list-5"]/div/ul/li[2]/a').click()
        time.sleep(1)

        self.driver.find_element_by_xpath('//*[@id="employ"]/div[2]/input[1]').send_keys(name)
        self.driver.find_element_by_xpath('//*[@id="employ"]/div[2]/button').click()
        time.sleep(1)

        result = self.driver.find_element_by_xpath('//*[@id="stuInfo_table1"]/tbody/tr/td[1]').text
        if result == '苏珊':
            print('查询成功')
            self.insert.write_report('3.5', '就业管理', 'GUI测试', 'TC-026', '就业管理姓名输入框查询', '失败', '无', '无')
        else:
            print('查询失败')
            img = self.insert.pic_screenshot()
            self.insert.write_report('3.5', '就业管理', 'GUI测试', 'TC-026', '就业管理姓名输入框查询', '失败', '无', img)

    # 技术面试姓名输入框查询
    def interviw_name(self,name):
        # self.st.login_fast('超级管理员')
        # # #打开资源管理-培训资源模块
        self.st.open_module('就业管理', '技术面试')
        self.driver.find_element_by_xpath('//*[@id="skills"]/div[2]/input[1]').send_keys(name)
        self.driver.find_element_by_xpath('//*[@id="skills"]/div[2]/button').click()
        time.sleep(1)
        text = self.driver.find_element_by_xpath('//*[@id="stuInfo_table"]/tbody/tr/td[1]').text
        if text == name:
            print('查询成功')
            self.insert.write_report('3.5', '就业管理', 'GUI测试', 'TC-025', '技术面试姓名输入框查询', '失败', '无', '无')
        else:
            print('查询失败')
            img = self.insert.pic_screenshot()
            self.insert.write_report('3.5', '就业管理', 'GUI测试', 'TC-025', '技术面试姓名输入框查询', '失败', '无', img)

    # 技术面试模块面试结果显示
    def interviw_select(self):
        self.st.open_module('就业管理', '技术面试')

        Select(self.driver.find_element_by_id('region_id')).select_by_index('1')
        #面试随机下标
        select_type = Select(self.driver.find_element_by_id('studentSelect')).select_by_index('1')
        select_options = select_type.options
        random_index = random.randint(0, len(select_options) - 1)
        select_type.select_by_index(random_index)
        text = select_options[random_index].text

        result = self.driver.find_element_by_xpath('//*[@id="stuInfo_table"]/tbody/tr/td[8]').text
        if result == '通过' and result == text:
            print('查询成功')
            self.insert.write_report('3.5', '就业管理', 'GUI测试', 'TC-028', '技术面试模块面试结果显示', '失败', '无', '无')
        elif result == '未通过' and text == '未面试':
            print('查询失败')
            img = self.insert.pic_screenshot()
            self.insert.write_report('3.5', '就业管理', 'GUI测试', 'TC-028', '技术面试模块面试结果显示', '失败', '无', img)
        else:
            print('查询异常')
            img = self.insert.pic_screenshot()
            self.insert.write_report('3.5', '就业管理', 'GUI测试', 'TC-028', '技术面试模块面试结果显示', '错误', '无', img)


    #入职情况下拉框组合查询
    def entry_select(self):

        self.st.open_module('就业管理', '入职情况')
        Select(self.driver.find_element_by_id('region_id')).select_by_index('1')
        Select(self.driver.find_element_by_xpath('//*[@id="skills"]/div[1]/select[3]')).select_by_index('3')

        self.driver.find_element_by_xpath('//*[@id="skills"]/div[2]/button').click()
        time.sleep(1)
        result = self.driver.find_element_by_xpath('//*[@id="stuInfo_table"]/tbody/tr[1]/td[3]').text
        if result == '测试':
            print('查询成功')
        else:
            print('查询失败')

    # 入职情况姓名输入框查询
    def entry_name(self,name):

        self.st.open_module('就业管理', '入职情况')
        self.driver.find_element_by_xpath('//*[@id="skills"]/div[2]/input[1]').send_keys(name)
        self.driver.find_element_by_xpath('//*[@id="skills"]/div[2]/button').click()
        time.sleep(1)
        result = self.driver.find_element_by_xpath('//*[@id="stuInfo_table"]/tbody/tr[1]/td[1]').text
        if result == name:
            print('查询成功')
        else:
            print('查询失败')








if __name__ == '__main__':
    start = quiry()
    start.quiry_public_name('赵信')
